package com.ctshk.rpc.order.tour.mapper;

import java.util.List;
import java.util.Set;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ctshk.common.service.mapper.CtsBaseMapper;
import com.ctshk.rpc.order.tour.dto.SeriesOrderTouristRefundListDTO;
import com.ctshk.rpc.order.tour.entity.SeriesOrderTouristRefund;
import com.ctshk.rpc.order.tour.entity.SeriesOrderTouristRefundDetail;
import com.ctshk.rpc.order.tour.req.SeriesOrderTouristRefundAddReq;
import com.ctshk.rpc.order.tour.req.SeriesOrderTouristRefundListReq;

/**
 * <p>
 * 系列团游客退款记录 Mapper 接口
 * </p>
 *
 * @author 谭响
 * @since 2021-01-28
 */
public interface SeriesOrderTouristRefundMapper extends CtsBaseMapper<SeriesOrderTouristRefund> {

    @SelectProvider(type = SeriesOrderTouristRefundProvider.class, method = "selectListBySelective")
    IPage<SeriesOrderTouristRefundListDTO> selectListBySelective(IPage<SeriesOrderTouristRefundListReq> pageParam,
                                                                 @Param("req") SeriesOrderTouristRefundListReq req);

    @SelectProvider(type = SeriesOrderTouristRefundProvider.class, method = "selectAddByRefundDetailTypeId")
    List<SeriesOrderTouristRefundDetail> selectAddByRefundDetailTypeId(@Param("req") SeriesOrderTouristRefundAddReq req,
                                                                       @Param("param1") Set<Long> param1);
}
